package com.test;
/*
 *
 * 判断数组中所有的数字是否只出现一次。
 * 给定一个数组array，判断数组 array 中是否所有的数字都只 出现过一次。
 * 例如，arr = {1, 2, 3}，输出 YES。又如，arr = {1, 2, 1}，输出 NO。
 * 约束时间复杂度为 O(n)。
 * */

import java.util.HashSet;
import java.util.Set;

public class Test1 {

    public static void findOne(int[] arr) {
        Set<Integer> set = new HashSet<>();
        for (int i : arr) {
            if (set.contains(i)) {
                System.out.println("NO");
                return;
            } else {
                set.add(i);
            }
        }

        System.out.println("YES");
    }


    public static void main(String[] args) {
        int[] arr = new int[]{1, 2, 3};
        findOne(arr); // YES
        int[] arr2 = new int[]{1, 2, 1};
        findOne(arr2); // NO
    }

}
